www.gusucode.com > VC++ 小型会员积分管理系统-源码程序 > VC++ 小型会员积分管理系统-源码程序/code/AcPtsRecorder/listctrlex/ListViewEx.cpp

    //Download by http://www.NewXing.com
#include "StdAfx.h"
#include ".\ListViewEx.h"



IMPLEMENT_DYNCREATE(CListViewEx, CView)

CListViewEx::CListViewEx(void)
{
}

CListViewEx::~CListViewEx(void)
{
}


BEGIN_MESSAGE_MAP(CListViewEx, CView)
	ON_NOTIFY(LVN_COLUMNCLICK, IDC_LIST_CTRL_INFO, OnColumnclickListTer)	
	ON_WM_SIZE()
END_MESSAGE_MAP()


// CListViewEx 绘图

void CListViewEx::OnDraw(CDC* pDC)
{
	CDocument* pDoc = GetDocument();
	// TODO: 在此添加绘制代码
}

// CListViewEx 诊断

#ifdef _DEBUG
void CListViewEx::AssertValid() const
{
	CView::AssertValid();
}

void CListViewEx::Dump(CDumpContext& dc) const
{
	CView::Dump(dc);
}
#endif //_DEBUG

void CListViewEx::OnSize(UINT nType, int cx, int cy)
{
	CView::OnSize(nType, cx, cy);

	if (m_ListCtrlEx.GetSafeHwnd())
	{
		CRect rc;
		GetClientRect( rc );
		m_ListCtrlEx.MoveWindow(rc.left,rc.top,rc.right,rc.bottom);
	}
}

BOOL CListViewEx::Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext)
{
	BOOL bResult =  CView::Create(lpszClassName, lpszWindowName, dwStyle, rect, pParentWnd, nID, pContext);

	if (!m_ListCtrlEx.Create (WS_TABSTOP|WS_CHILD|WS_VISIBLE|LVS_REPORT,
		CRect(0,0,0,0), this, IDC_LIST_CTRL_INFO))
	{
		TRACE0("Failed to create view for CListViewEx\r\n");
		return FALSE;
	}
	//

	m_ListCtrlEx.ModifyStyleEx(0, WS_EX_CLIENTEDGE);
	m_ListCtrlEx.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_TRACKSELECT);
	
	return bResult;
}
void CListViewEx::OnColumnclickListTer(NMHDR* pNMHDR, LRESULT* pResult)
{
	NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;	
	m_ListCtrlEx.SortList(pNMListView->iSubItem,m_ListCtrlEx.GetAscending());
	*pResult = 0;
}